package com.coderman.common.starter.nacos.datadict.service;

import com.alibaba.nacos.api.exception.NacosException;
import com.coderman.common.starter.nacos.datadict.data.StrictList;
import com.coderman.common.starter.nacos.datadict.data.StrictMap;
import com.coderman.utils.kvpair.KVPair;

import java.util.Map;

public interface DataService  {

    /**
     * 对配置的nacos dataID-group进行
     * 注册变更监听
     */
    void addListener() throws NacosException;



    /**
     * 根据nacos dataID groupid获取 配置数据
     * @param dataID
     * @param groupID
     * @return map<k,v>
     */
    Map<String,StrictMap<String>> getDataMap(String dataID, String... groupID);

    /**
     * 根据nacos dataID group id获取 配置数据
     * @param dataID
     * @param groupID
     * @return
     */
    Map<String, StrictList<KVPair>> getDataKVList(String dataID, String... groupID);


}
